macos: maintain GList element consistency
authorChristian Hergert <chergert@redhat.com>
Thu, 3 Dec 2020 00:51:31 +0000 (16:51 -0800)
committerChristian Hergert <chergert@redhat.com>
Thu, 3 Dec 2020 03:44:01 +0000 (19:44 -0800)
We need to keep this consistent so that we can look things up
faster in other places. Therefore, just take the hit here and clear
the entire list ensuring prev/next poniters are cleared.

gdk/macos/gdkmacosdisplay.c

index 9772059bcfa02f3298dea9f641918e8c75c21ec2..37532fd07953398f8f80be610ab4dd7f43803e7f 100644 (file)
@@ -1056,9 +1056,8 @@ _gdk_macos_display_clear_sorting (GdkMacosDisplay *self)
 {
   g_return_if_fail (GDK_IS_MACOS_DISPLAY (self));
 
-  self->sorted_surfaces.head = NULL;
-  self->sorted_surfaces.tail = NULL;
-  self->sorted_surfaces.length = 0;
+  while (self->sorted_surfaces.head != NULL)
+    g_queue_unlink (&self->sorted_surfaces, self->sorted_surfaces.head);
 }
 
 const GList *